package marchsoft.modules.tiku.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import marchsoft.modules.tiku.entity.ESafeCase;
import marchsoft.modules.tiku.entity.EStudyData;
import marchsoft.base.BasicMapper;

import marchsoft.modules.tiku.entity.dto.EStudyDataDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Component;

/**
* <p>
* 学习资料表 Mapper 接口
* </p>
*
* @author zsy
* @since 2022-03-29
*/
@Component
public interface EStudyDataMapper extends BasicMapper<EStudyData> {

    /**
     * 按条件联表查询
     * */
    @Select("select sd.id,title,content,keywords,safe_type_id," +
            "name,cover_pic_link,data_type,is_introduce,tags,sd.create_time " +
            "from e_study_data sd  " +
            "LEFT JOIN e_safe_type st on sd.safe_type_id=st.id " +
            "${ew.customSqlSegment} ")
    IPage<EStudyDataDto> getAllPage(IPage<Object> page, @Param(Constants.WRAPPER) QueryWrapper<Object> query);
    /**
     * 更新推荐状态
     * */
    @Update("UPDATE e_study_data SET is_introduce=#{isIntroduce} WHERE id=#{id}")
    void updateIntro(EStudyData eStudyData);
    /**
     * 更新学习资料
     * */
    @Update("UPDATE e_study_data WHERE id=#{id}")
    void updateStudyData(EStudyData eStudyData);

    @Select("SELECT * FROM e_study_data WHERE safe_type_id=#{eStudyData.safeTypeId} AND is_deleted=0")
    IPage<EStudyData> getFront(IPage<Object> page,@Param("eStudyData") EStudyData eStudyData);
}
